package com.hxzy.shop.order.dto.req;

import com.hxzy.shop.order.config.CustomerDoubleSerialize;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.codehaus.jackson.map.annotate.JsonSerialize;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * @ClassName PayTransactionsDrugV3Req
 * @Author wengjt
 * @Date 2021/9/14 10:30
 * @Description
 **/
@Data
@ApiModel
public class PayTransactionsDrugV3Req implements Serializable {
    @ApiModelProperty(value = "药品id")
    private Long drugId;

    @ApiModelProperty(value = "药品编码")
    private String drugCode;

    @ApiModelProperty(value = "药品规格")
    private String drugSpecifications;

    @ApiModelProperty(value = "药品数量")
    private Integer drugNumber;

    @ApiModelProperty(value = "药品名称")
    private String drugName;

    @ApiModelProperty(value = "列表图")
    private String tabularChart;

    @JsonSerialize(using = CustomerDoubleSerialize.class)
    @ApiModelProperty(value = "药品原价")
    private BigDecimal originalPriceOfDrugs;

    @JsonSerialize(using = CustomerDoubleSerialize.class)
    @ApiModelProperty(value = "药品活动价")
    private BigDecimal drugActivityPrice;

    @JsonSerialize(using = CustomerDoubleSerialize.class)
    @ApiModelProperty(value = "药品打包价")
    private BigDecimal drugCombinationPrice;

    @ApiModelProperty(value = "药品营销类型（0无活动1限时折扣2秒杀3打包一口价4满赠5组合套餐7.砍价）")
    private Integer markingType;

    @ApiModelProperty(value = "营销id")
    private Long markingId;

    @JsonSerialize(using = CustomerDoubleSerialize.class)
    @ApiModelProperty(value = "除开优惠后的真实支付价格")
    private BigDecimal realPrice;

    @JsonSerialize(using = CustomerDoubleSerialize.class)
    @ApiModelProperty(value = "优惠后单品总价")
    private BigDecimal discountAfterProTotal;

    @ApiModelProperty(value = "限时折扣起步数量/打包一口价该商品打包数量")
    private Integer baseLimit;

    @ApiModelProperty(value = "是否为分销类药品")
    private Boolean distributorDrug;

    @ApiModelProperty("是否处方药 true是处方药 false 不是处方药")
    private Boolean prescriptionDrug;

    @JsonSerialize(using = CustomerDoubleSerialize.class)
    @ApiModelProperty("满足金额，则开始优惠（满减）")
    private BigDecimal amount;

    @ApiModelProperty("优惠金额（满减）")
    @JsonSerialize(using = CustomerDoubleSerialize.class)
    private BigDecimal discountAmount;
    @ApiModelProperty("折扣率(存百分比)")

    @JsonSerialize(using = CustomerDoubleSerialize.class)
    private BigDecimal discount;

    @JsonSerialize(using = CustomerDoubleSerialize.class)
    @ApiModelProperty("满多少赠送")
    private Integer howManyPiecesAreGivenAway;

    @JsonSerialize(using = CustomerDoubleSerialize.class)
    @ApiModelProperty("优惠券分摊金额")
    private BigDecimal couponAllocationAmount;

    @JsonSerialize(using = CustomerDoubleSerialize.class)
    @ApiModelProperty("会员权益金额")
    private BigDecimal memberRightsAmount;

    @JsonSerialize(using = CustomerDoubleSerialize.class)
    @ApiModelProperty("单商品活动优惠总金额")
    private BigDecimal activityDiscountPrice;

}
